1. Field of the Invention
The present invention generally relates to software installation scripts (INF files) and more specifically to automatic generation of the INF files from device driver source code.
2. Description of the Related Art
Device information files (INF files) are a critical piece of the installation image which are used to configure the software that is installed, e.g. device drivers, for a target customer platform. An INF file is a text file that contains all the information necessary to install a device, such as driver names and locations, registry information, version information, operating system, hardware device version, and platform specific information that is necessary for correct operation and that may not be discoverable. Typically the INF files contain registry keys and values for those keys which are conditionally installed for various devices, platforms, operating systems, and hardware vendors.
Conventionally, INF files are generated manually, and then verified by visual inspection. Changes to features, configuration and customization of the registry keys in installation scripts are conveyed through manual process, by cross referencing documents and instructions received from engineers that articulate the behavioural effects of these registry keys in software source code. The process is time consuming and prone to errors. The various components of a custom driver package are prepared independently, so that inconsistencies may exist between the INF files, documentation, and enabling files. Changes in code or the operating system may require repeated manual adjustments of the documentation and the installation files. Sometimes the separate documentation of these registry keys diverges from actual behaviour in software or in the installation script. Yet this connection is critically important to determine the combination of registry keys and settings used in customer enabling in order to correctly configure and customize software for target customer platforms.
Accordingly, what is needed in the art are systems and methods for improving the quality of the various components of a custom driver package (documentation and installation scripts) by reducing the number of errors introduced during the editing process while also reducing the time needed to validate the changes.